#ifndef _SINGLETON_H_
#define _SINGLETON_H_

#include <string>

using namespace std;

// sample singleton class
class Hero
{
public:

	static Hero * GetInstance( void );

	static void DeleteInstance( void );

	int GetAge( void ) { return m_age; }
	void SetAge( int newAge ) { m_age = newAge; }

private:

	Hero( void ) { m_age = 5; } // Constructor
	Hero( Hero &hero ); // Copy constructor
	Hero & operator = ( Hero &rhs ); // Assignment operator

	static Hero *m_pInstance;

	string m_name;
	int m_age;

};


#endif /* _SINGLETON_H_ */